#include <limits>
#include <iostream>
using std::cin;
using std::cout;
using std::endl;

void readInt(int & number){
    cout << "请输入一个整型数据：" << endl;
    //逗号表达式整体的值为最后一个逗号之后的表达式的值
    //只要流没有到达结尾，就一直等待输入
    while(cin >> number,!cin.eof()){
        if(cin.bad()){
            cout << "cin has broken!" << endl;
            return;
        }else if(cin.fail()){
            cin.clear();
            cin.ignore(std::numeric_limits<std::streamsize>::max(),'\n');
            cout << "请输入一个整型数据：" << endl;
        }else{
            //输入是合法的情况
            cout << "number:" << number << endl;
            break;
        }
    }
}
void test0(){
    int number = 0;
    readInt(number);
}

int main(void){
    test0();
    return 0;
}
